<?php
/**
 * Created by PhpStorm.
 * User: zhu_hbo
 * Date: 16/10/9
 * Time: 下午1:45
 */

namespace Foo\Bar;
include 'ns3.php';

const FOO = 2;
function foo() {
    echo "本类 foo被调用";
    echo "<p>";
}
class foo
{
    static function staticMethod() {
        echo "本类foo staticMethod被调用";
        echo "<p>";
    }
}

/* 非限定名称 */
foo(); // 解析为 Foo\Bar\foo resolves to function Foo\Bar\foo
foo::staticMethod(); // 解析为类 Foo\Bar\foo的静态方法staticmethod。resolves to class Foo\Bar\foo, method staticmethod
echo FOO; // resolves to constant Foo\Bar\FOO
echo "<p>"."================"."<p>";

/* 限定名称 */
subnamespace\foo(); // 解析为函数 Foo\Bar\subnamespace\foo
subnamespace\foo::staticMehtod(); // 解析为类 Foo\Bar\subnamespace\foo,
// 以及类的方法 staticmethod
echo subnamespace\FOO; // 解析为常量 Foo\Bar\subnamespace\FOO
echo "<p>"."================"."<p>";

/* 完全限定名称 */
\Foo\Bar\foo(); // 解析为函数 Foo\Bar\foo
\Foo\Bar\foo::staticMethod(); // 解析为类 Foo\Bar\foo, 以及类的方法 staticmethod
echo \Foo\Bar\FOO; // 解析为常量 Foo\Bar\FOO
?>